package cxf.spring.demo.example;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;

/**
 * Использование очереди событий
 * <p/>
 * User: Vlad Vinichenko (akerigan@gmail.com)
 * Date: 07.03.2009
 * Time: 11:58:47
 */
public class UsingEventQueue extends JFrame {

    public UsingEventQueue() {
        super();
        // выход при закрытии окна
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        // кнопка и ее слушатель
        JButton button = new JButton("Генерировать событие");
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                dispatchEvent(new WindowEvent(UsingEventQueue.this, WindowEvent.WINDOW_CLOSING));
            }
        });
        // добавим кнопку в панель содержимого
        getContentPane().setLayout(new FlowLayout());
        getContentPane().add(button);
        // выведем окно на экран
        setSize(400, 300);
        setVisible(true);
    }

    public static void main(String[] args) {
        new UsingEventQueue();
    }

}
